In recent years it has become increasingly common to connect personal computers or workstations together into networks so that different machines can communicate with one another. These links allow collaborative working, in which two or more users at different machines work simultaneously and in combination on a single application (eg a spreadsheet). This application is typically running at just a single machine, but its output is displayed at one or more other workstations, so that multiple users can interact with the application. An example of such a collaborative working system for UNIX workstations is described in EPA 475581. Such systems are sometimes referred to as groupware.
EPA 590817 describes a collaborative working system in which a screen on a first workstation at a location is shared or mirrored on a second workstation at a different location. EPA 590817 operates by effectively intercepting graphics calls to the screen at the first workstation, and determining the region of screen that is being updated by the call. The modified region of the screen is then accessed and transmitted to the second workstation, where it is superimposed on the mirrored window.
U.S. Pat. No. 5,241,625 also discloses a screen-sharing mechanism. Again graphics calls are intercepted, but it is these calls that are transmitted to the second workstation rather than data representing updated regions of the screen. These calls are then processed at the second workstation to perform the same screen update as at the first workstation. U.S. Pat. No. 5,241,625 sends cursor position commands from the first workstation to the second workstation.
EPA 645725 describes a system in which a cursor is copied from a host workstation to a remote workstation. The remote user sees a "pseudo" cursor (from the host), in addition to his or her own true cursor. When the cursor changes shape at the host workstation, a corresponding change is effected at the remote workstation, typically by using the SetCursor command. GB 2282944 also describes a conferencing system which provides remote display of objects and cursor movements.
Note that the cursor is often regarded as being in a different plane from the main screen image. As a result of this, in a screen sharing environment the cursor may be handled somewhat separately from the main screen image, and this can lead to anomalies in the shared display presented to the user at the second location.